package com.yanqu.road.entity.log.wanyao;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.wanyao.entity.WanYaoLevelData;
import com.yanqu.road.entity.log.ServerBaseLog;

import java.util.Date;
import java.util.Map;

@FieldTypeAnnotation(tableName = "t_l_ck_wan_yao_go_out", autoSave = true,uploadCk = true,desc = "万妖行-出行")
public class LogWanYaoGoOut extends ServerBaseLog {
    @FieldTypeAnnotation(desc = "活动ID", isIndex = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "用户ID", isIndex = true)
    private long userId;

    @FieldTypeAnnotation(desc = "消耗前体力")
    private int oldPower;
    @FieldTypeAnnotation(desc = "消耗体力")
    private int power;
    @FieldTypeAnnotation(desc = "消耗后体力")
    private int newPower;

    @FieldTypeAnnotation(desc = "妖王前经验")
    private long oldExp;
    @FieldTypeAnnotation(desc = "妖王经验")
    private long exp;
    @FieldTypeAnnotation(desc = "妖王后经验")
    private long newExp;

    @FieldTypeAnnotation(desc = "旧惊魂花数")
    private long oldFlower;

    @FieldTypeAnnotation(desc = "惊魂花获得数")
    private long flowerGet;

    @FieldTypeAnnotation(desc = "新惊魂花数")
    private long newFlower;


    @FieldTypeAnnotation(desc = "触发buff",saveJson = true)
    private Map<Integer,Integer> triggerBuff;

    @FieldTypeAnnotation(desc = "到达的关卡",saveJson = true)
    private WanYaoLevelData arriveLevel;

    @FieldTypeAnnotation(desc = "惊魂数")
    private int surpriseCount;

    @FieldTypeAnnotation(desc = "奖励")
    private String reward;

    public LogWanYaoGoOut(int activityId,
                          long userId,
                          int oldPower,
                          int power,
                          int newPower,
                          long oldExp,
                          long exp,
                          long newExp,
                          long oldFlower,
                          long flowerGet,
                          long newFlower,
                          Map<Integer, Integer> triggerBuff,
                          WanYaoLevelData arriveLevel,
                          int surpriseCount,
                          String reward,
                          Date operateTime) {
        this.activityId = activityId;
        this.userId = userId;
        this.oldPower = oldPower;
        this.power = power;
        this.newPower = newPower;
        this.oldExp = oldExp;
        this.exp = exp;
        this.newExp = newExp;
        this.oldFlower = oldFlower;
        this.flowerGet = flowerGet;
        this.newFlower = newFlower;
        this.triggerBuff = triggerBuff;
        this.arriveLevel = arriveLevel;
        this.surpriseCount = surpriseCount;
        this.reward = reward;
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getOldPower() {
        return oldPower;
    }

    public void setOldPower(int oldPower) {
        this.oldPower = oldPower;
    }

    public int getPower() {
        return power;
    }

    public void setPower(int power) {
        this.power = power;
    }

    public int getNewPower() {
        return newPower;
    }

    public void setNewPower(int newPower) {
        this.newPower = newPower;
    }

    public long getOldExp() {
        return oldExp;
    }

    public void setOldExp(long oldExp) {
        this.oldExp = oldExp;
    }

    public long getExp() {
        return exp;
    }

    public void setExp(long exp) {
        this.exp = exp;
    }

    public long getNewExp() {
        return newExp;
    }

    public void setNewExp(long newExp) {
        this.newExp = newExp;
    }

    public long getOldFlower() {
        return oldFlower;
    }

    public void setOldFlower(long oldFlower) {
        this.oldFlower = oldFlower;
    }

    public long getFlowerGet() {
        return flowerGet;
    }

    public void setFlowerGet(long flowerGet) {
        this.flowerGet = flowerGet;
    }

    public long getNewFlower() {
        return newFlower;
    }

    public void setNewFlower(long newFlower) {
        this.newFlower = newFlower;
    }

    public Map<Integer, Integer> getTriggerBuff() {
        return triggerBuff;
    }

    public void setTriggerBuff(Map<Integer, Integer> triggerBuff) {
        this.triggerBuff = triggerBuff;
    }

    public WanYaoLevelData getArriveLevel() {
        return arriveLevel;
    }

    public void setArriveLevel(WanYaoLevelData arriveLevel) {
        this.arriveLevel = arriveLevel;
    }

    public int getSurpriseCount() {
        return surpriseCount;
    }

    public void setSurpriseCount(int surpriseCount) {
        this.surpriseCount = surpriseCount;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

}
